mimic std::optional for flagged Waypoint fields. (#975)
* mimic std::optional for flagged Waypoint fields.
* manual adjustments to waypt access usage.
* split optional Waypoint flags, tune packing.
* bring op_flags into Waypoint.
* add comments about future Waypoint optional fields.
* sort Waypoint class almost normally.
private members refered to with decltype need to be defined
before they are referred to.
* remove extra parens around *has_value().
* remove extra parens around *value_or().
* remove more extra parens.
32 files changed: